<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/6/29
 * Time: 11:02
 */

namespace Home\Controller;


use Think\Controller;

class PublicController extends Controller
{//导航
    /*从数据库得到整体数据，包含求婚钻戒、超级DR的  系列名字 、系列id、 系列中商品销售最多的商品id、pic1、销售量（销售量在首页我作用，但用于筛选销售最多的商品）。
     *
     * */
    public function __construct()
    {
        parent::__construct();
    }

    public function type_id()
    {
        //获取求婚钻戒，超级DR的商品，最大的id值。
        //navigation从数据库无差别的拿出数据，用于navigation1筛选求婚钻戒，navigation2筛选超级DR
        $n = M('type');
        $A = $n->where(array('pid' => 0))->select();
        foreach ($A as $v) {
            $a[] = $v['id'];
        };
        $mpid = intval(max($a));

        for ($pid = 1; $pid <= $mpid; $pid++) {
            $B = $n->where(array('pid' => $pid))->select();
            foreach ($B as $v) {
                $a[] = $v['id'];
            }
            $b[] = max($a);
        }
        return $b;
    }

    //从数据库得到数据，
    public function navigation($a, $b)
    {
        $m = M('type');
        $res1 = $m->join('think_goods ON think_type.id=think_goods.type_id')->order('type_id')->select();
        //简化查询结果
        foreach ($res1 as $k => $v) {
            $res[$k]['id'] = $v['id'];
            $res[$k]['type_id'] = $v['type_id'];
            $res[$k]['type_name'] = $v['type_name'];
            $res[$k]['sales'] = $v['sales'];
            $res[$k]['pic1'] = $v['pic1'];
        }

        $c = count($res);
        $type_id = '0';
        $sales = 0;
        $n = 0;

        for ($i = 0; $i < $c; $i++) {
            if (intval($res[$i]['type_id']) >= intval($a) && intval($res[$i]['type_id']) <= intval($b)) {
                //因为是order by type-id 所以同系列的数组紧邻
                //判断紧邻的两个数组，type_id是否一致---->合并数组
                //比较sales，大的一方放在array_merge的第一个参数--->生成新数组
                //不等，紧邻的两个数组type_id不一致，不是一个系列的
                if ($type_id != $res[$i]['type_id']) {

                    if ($i == 0) {//第一次进入，都为空，把第一个数组付给$arr[0]，$sales,$type_id
                        $type_id = $res[$i]['type_id'];
                        $arr[0] = $res[0];
                        $sales = $res[$i]['sales'];
                        $n++;
                    } else {
                        //如果type-id不同，同系列比较结束，就重新赋值
                        $type_id = $res[$i]['type_id'];
                        $sales = $res[$i]['sales'];
                        $arr[$n] = $res[$i];
                        $n++;//进入另一个系列，$arr下标+1
                    }
                } else {
                    //如果相等，则是同系列的商品。比较sales，较大的数组付给$arr
                    if (intval($sales) < intval($res[$i]['sales'])) {
                        $arr[$n - 1] = $res[$i];//切换系列后，$n+1了，所以现在的$n是下一个系列的下标
                        $sales = $res[$i]['sales'];
                    }
                }
            }
        }
        //return $arr;
        foreach($arr as $k=>$v){

                    $res=M('goods_detail')->where(array("goods_id"=>$v['id']))->select();

            $arr[$k]['detail_id']=$res[0]['id'];
        }

        return $arr;
    }

    public function navigation1()
    {
        $type_id = $this->type_id();
        //return $type_id[0];
        $res = $this->navigation('0', $type_id[0]);
        //---导航信息

        //求婚钻戒
        $nav1=array_slice($res,0,5);
        $nav2=array_slice($res,5,4);

        $this->assign('nav1',$nav1);
        $this->assign('nav2',$nav2);

        //---导航信息

    }

  /*  public function navigation2()
    {
        $b = $this->type_id();
        $res = $this->navigation($b[0], $b[1]);
        return $res;
        return $arr;
    }*/

}